package com.object.model;

import com.object.model.execute.dto.AddRoleDto;
import com.object.model.execute.impl.AddRoleTool;
import com.object.model.execute.impl.CurrentSysTool;
import com.object.model.execute.impl.GetRoleTool;
import com.object.model.execute.impl.GetUserTool;
import lombok.Getter;

/**
 * @author Li Qing
 * date: 2025/7/17 20:43
 * description: 配置ai系统工具
 */
public enum ModelConfigTool {
    add_role_tool(AddRoleTool.class, ModelBeanName.ADD_ROEL_TOLL, "添加系统角色", AddRoleDto.class),
    get_role_tool(GetRoleTool.class, ModelBeanName.GET_ROLE_TOOL, "获取系统角色"),
    get_user_tool(GetUserTool.class, ModelBeanName.GET_USER_TOOL, "获取系统用户"),
    get_current_sys_user(CurrentSysTool.class, ModelBeanName.GET_CURRENT_SYS_USER, "获取登录用户信息/获取当前在线用户"),
    ;

    @Getter
    //实现类名
    private String beanName;
    @Getter
    //工具提示词
    private String description;
    @Getter
    //实现类 class
    private Class<?> clazz;

    @Getter
    //实体类class
    private Class<?> dtoClazz;

    ModelConfigTool(Class<?> clazz, String beanName, String description) {
        this.clazz = clazz;
        this.beanName = beanName;
        this.description = description;
    }

    ModelConfigTool(Class<?> clazz, String beanName, String description, Class<?> dtoClazz) {
        this.clazz = clazz;
        this.beanName = beanName;
        this.description = description;
        this.dtoClazz = dtoClazz;
    }
}
